package com.bsit.obu.model.car;

import java.util.ArrayList;
import java.util.List;

public enum CarType {/*
    *//*
在《收费公路联网收费技术要求》表 4.3 基础上，参
JT/T489 《收费公路车辆通行费车型分类》，定义如下：
①客车车型：
Ox33一 一类客车； Ox34一 二类客车； Ox35一 二类客车： Ox36-
类客车： Ox37 Ox3C一保留
②货车车型：
15 Ox3D－一类货车： Ox3E－二类货车； Ox3F一三类货车： Ox40
四类货车： Ox41 －五类货车： Ox42一六类货车： Ox43 Ox46-
保留
③专项作业车车型：
Ox47一 一类专项作业车： Ox48－二类专项作业车： Ox49一一类
专项作业车； Ox4A一四类专项作业车： Ox4B－五类专项作业车；
Ox4C一六类专项作业车： Ox4D Ox50-保留
    *//*
    YIXING_KECHE(51, "一类客车"),
    ERXING_KECHE(52, "二类客车"),
    SANXING_KECHE(53, "三类客车"),
    SIXING_KECHE(54, "四类客车"),
    WUXING_KECHE(55, "五类客车"),
    LIUXING_KECHE(56, "六类客车"),

    YIXING_HUOCHE(61, "一类货车"),
    ERXING_HUOCHE(62, "二类货车"),
    SANXING_HUOCHE(63, "三类货车"),
    SIXING_HUOCHE(64, "四类货车"),
    WUXING_HUOCHE(65, "五类货车"),
    LIUXING_HUOCHE(66, "六类货车"),

    YIXING(71, "一类专项作业车"),
    ERXING(72, "二类专项作业车"),
    SANXING(73, "三类专项作业车"),
    SIXING(74, "四类专项作业车"),
    WUXING(75, "五类专项作业车"),
    LIUXING(76, "六类专项作业车");
    private int code;
    private String content;

    CarType(int code, String content) {
        this.code = code;
        this.content = content;
    }
    public static String getContent(int code){
        String content = "";
        CarType[] carTypes =  CarType.values();
        for (int i = 0;i<carTypes.length;i++){
            if(carTypes[i].code==code){
                content =  carTypes[i].content;
            }
        }
        return content;
    }
    public static int getCode(String content){
        int code = 0;
       CarType[] carTypes =  CarType.values();
       for (int i = 0;i<carTypes.length;i++){
           if(carTypes[i].content.equals(content)){
               code =  carTypes[i].code;
           }
       }
       return code;
    }
    public static List<String> getContents(){
        List<String> list = new ArrayList<>();
        CarType[] carTypes =  CarType.values();
        for (int i = 0;i<carTypes.length;i++){
            list.add(carTypes[i].content);
        }
      return list;
    }
*/
    /*
     * 类别	车型对应关系
     * 	     客车（参数）	货车（参数）	专项作业车（参数）
     * 第1类	0x01	      0x0B	             0x15
     * 第2类	0x02	      0x0C	             0x16
     * 第3类	0x03	      0x0D	             0x17
     * 第4类	0x04	      0x0E	             0x18
     * 第5类	0x05	      0x0F	             0x19
     * 第6类	0x06	      0x10	             0x1A
     */
    YIXING_KECHE(1, "一类客车"),
    ERXING_KECHE(2, "二类客车"),
    SANXING_KECHE(3, "三类客车"),
    SIXING_KECHE(4, "四类客车"),
    WUXING_KECHE(5, "五类客车"),
    LIUXING_KECHE(6, "六类客车"),


    YIXING_HUOCHE(11, "一类货车"),
    ERXING_HUOCHE(12, "二类货车"),
    SANXING_HUOCHE(13, "三类货车"),
    SIXING_HUOCHE(14, "四类货车"),
    WUXING_HUOCHE(15, "五类货车"),
    LIUXING_HUOCHE(16, "六类货车"),

    YIXING(21, "一类专项作业车"),
    ERXING(22, "二类专项作业车"),
    SANXING(23, "三类专项作业车"),
    SIXING(24, "四类专项作业车"),
    WUXING(25, "五类专项作业车"),
    LIUXING(26, "六类专项作业车");
    private int code;
    private String content;

    CarType(int code, String content) {
        this.code = code;
        this.content = content;
    }
    public static String getContent(int code){
        String content = "";
        CarType[] carTypes =  CarType.values();
        for (int i = 0;i<carTypes.length;i++){
            if(carTypes[i].code==code){
                content =  carTypes[i].content;
            }
        }
        return content;
    }
    public static int getCode(String content){
        int code = 0;
        CarType[] carTypes =  CarType.values();
        for (int i = 0;i<carTypes.length;i++){
            if(carTypes[i].content.equals(content)){
                code =  carTypes[i].code;
            }
        }
        return code;
    }
    public static List<String> getContents(){
        List<String> list = new ArrayList<>();
        CarType[] carTypes =  CarType.values();
        for (int i = 0;i<carTypes.length;i++){
            list.add(carTypes[i].content);
        }
        return list;
    }


}
